#pragma once
#include "HWBatchState.h"

class HWInstance;

struct HWDependentBatch
{
public: 

	HWDependentBatch(const struct HWBatchState & renderState, HWInstance * pStartInstance, HWInstance * pEndInstance, XUINT32 cObjects, XINT64 compNodeId, XINT64 brushCloneId, const struct XRECTF_WH & bounds);
	HWDependentBatch(const struct HWDependentBatch & other);
	HWDependentBatch();
	struct HWDependentBatch & operator=(const struct HWDependentBatch &);
	XBOOL CanMergeWith(const struct HWDependentBatch & other);
	XBOOL CanSwapWith(const struct HWDependentBatch & other);
	struct HWBatchState m_state;
	
	
	HWInstance * m_pStartInstanceNoRef;
	HWInstance * m_pEndInstanceNoRef;
	XUINT32 m_cObjects;
	XINT64 m_compNodeId;
	struct XRECTF_WH m_bounds; 
};